Learning Objectives

After completing this lesson, you’ll be able to:

Video

Sharing FME Flow Content

FME Flow security is based on whether you own a component or have been given access to it. A component might be a set of functionality or an object like a repository.

When you create something, you have full permission for that component. Even if you don't have permission to manage security on your FME Flow, you do have the ability to share a component that you own with another user.

Generally, sharing works two ways depending on the method:

  1. Sharing a component with other FME Flow users through the Sharing Options dialog.
  2. Sharing a workspace with users without an FME Flow account through Flow Apps, Webhook URLs, or the FME Flow REST API.

Sharing a Repository

Choose the menu option for Workspaces in the Flow web interface and you are presented with a list of repositories on the system.

If you are the owner of a repository, then you have the ability to click the button to Share with Others:

Sharing a repository

This opens a pop-up dialog in which to select a user and choose the level of permission that you wish to give to them:

Granting Full Access to a repository

FME Security is also based on users and roles. Roles are analogous to a group of users. When sharing a component, the "user" field can be an individual user, or it can be applied to a particular role; for example, you can give the ability to run workspaces in a repository to anyone in the fmeuser role.

Note

This is a very important capability. As an author, you might publish a workspace intended for use by multiple users within FME Flow. However, the workspace is of little use if those users don't have access to it.

The Sharing Options dialog allows you to open up access to your workspace, without you needing the advanced permissions required for full security control.

Besides repositories, other components of FME Flow can also be shared with other users. Keep watch within the user interface for other sharing opportunities.

FME Flow Apps

Sharing a repository is an excellent option for sharing workspaces with other users who also have access to FME Flow, but what if you want to allow anyone to be able to submit a job without needing to have an account on FME Flow?

This can be accomplished using FME Flow Apps. You can create a Workspace App by clicking on Flow Apps from the FME Flow Menu:

Server Apps menu

To manage FME Flow Apps, click on Manage Workspace Apps. From here, you can manage all your existing apps and create new ones.

Flow Apps list

When creating a new Workspace App, you will be able to select which workspace you would like your app to run and also set an expiration date for the app. This is useful if you would like to temporarily share the app, then disable it after a set period of time.

Create Workspace App page

Next, you can select which Published Parameters you would like to be displayed for your end-users to set when they use your Workspace App:

Setting Published Parameters for a workspace app

And finally, you can customize the appearance of your Flow App by changing the background color and adding logos, icons, and banners.

An FME Flow Workspace App URL will then be generated. Anyone with that URL will be able to run the app that you created without having to log into FME Flow first.

FME Flow Workspace App URL

The FME Flow Workspace App link will open a simplified Run Workspace page:

FME Training Demo App

Note
You can also create an FME Flow Workspace App from the Run Workspace page for any workspace by clicking on Workspace Actions > Create Workspace App or from under the Advanced parameters section. This can be a handy shortcut as it will open the Create Workspace FME Flow App page directly and automatically select the Workspace for you.
Note
Gallery Apps act as landing pages for several Workspace Apps and URLs. They can be fully customized to suit your organization's needs all without any coding! For more information see Getting Started with Gallery Apps.

Webhook URL

While FME Flow Apps allow other people to run a workspace on FME Flow, a Webhook allows for an application to programmatically run a workspace. A Webhook URL will include all the workspace parameters directly in the URL itself. So, when the URL is triggered, it will immediately run the workspace without the need to prompt for those parameter values.

Webhooks are useful for building your own web applications that access FME Flow services because you can copy the HTTP request and embed it on your own website or a 3rd party application. You could also embed the URL into an email, or paste the URL directly into a web browser.

You can create a Webhook URL from the Run Workspace page for any workspace. Once you have selected your workspace to run, click on Workspace Actions > Create Webhook or go to the Advanced parameters and select Create a Webhook from there.

Create Webhook from a workspace

You will then be able to configure your Webhook. You can set an expiry time to control how long the URL will be active for and also decide what values should be filled in for any Published Parameters associated with the workspace.

Create Webhook page

When finished, your Webhook URL will be generated and you will be able to download a text file containing the Webhook information and see some examples of how to use the Webhook within 3rd party or custom applications.

Published webhook page

FME Flow REST API

In more advanced use cases, you can also share the results of workspaces with users that don't have an FME Flow account using the FME Flow REST API. You can make an API call to FME Flow to run a workspace and include the results in your external applications.

Note

The webhook URL can make use of the FME Flow services (Data Download, Data Streaming), whereas the REST API can only submit jobs using the REST service, which acts similarly to the Job Submitter service. You can see demos using the FME Flow REST API or read the documentation.